In a data processing system, it may be necessary for the data transfer from a component of the data processing system, e.g. from a peripheral unit (PER), to a processor unit (e.g. the CPU) or vice versa to be protected against physical attacks. By way of example, the data processing system for processing security-critical data may be a chip card that is used for secure authentication or for secure payment operations, or a security controller, what is also known as a “secure element”, in a mobile telephone, a personal computer, an automobile, a gaming console or an industrial controller. This is simply called a “security controller” below.
In the case of read or write access, e.g. from a CPU to a peripheral unit, this typically involves the CPU transmitting an address on a bus (e.g. a dedicated address bus) and hence selecting a desired register (R) of the peripheral unit. A bus (e.g. a dedicated data bus) is then typically used to transmit the data that are to be transmitted from/to the peripheral unit.
In a manipulative attack, an attacker could temporarily change address bits on the address bus, so that a different register in a different peripheral unit is addressed. In that case, the data would be transmitted from/to this peripheral unit instead of from/to the desired peripheral unit. On the other hand, the attack could corrupt the transmitted data. In both cases, this may compromise the security of the system.